/**
 * Notes: 路由配置文件
 * User: CC
 * Date: 2020-10-14 07:00:00
 */

module.exports = { 
	'home/setup_all': 'home_controller@getSetupAll', //获取全局配置(所有)

	// 用户相关接口
	'passport/login': 'passport_controller@login', // 用户登录
	'passport/phone': 'passport_controller@getPhone', // 获取手机号
	'passport/my_detail': 'passport_controller@getMyDetail', // 获取用户详情
	'passport/edit_base': 'passport_controller@editBase', // 修改用户资料
	'passport/update_balance': 'passport_controller@updateBalance', // 更新用户余额

	// 宠物相关接口
	'pet/list': 'pet_controller@getPetList', // 获取宠物列表
	'pet/detail': 'pet_controller@getPetDetail', // 获取宠物详情
	'pet/add': 'pet_controller@addPet', // 添加宠物
	'pet/update': 'pet_controller@updatePet', // 更新宠物信息
	'pet/delete': 'pet_controller@deletePet', // 删除宠物
	'pet/stats': 'pet_controller@getPetStats', // 获取宠物统计

	// 门店相关接口
	'store/list': 'store_controller@getStoreList', // 获取门店列表
	'store/detail': 'store_controller@getStoreDetail', // 获取门店详情
	'store/add': 'store_controller@addStore', // 添加门店
	'store/update': 'store_controller@updateStore', // 更新门店信息
	'store/services': 'store_controller@getStoreServices', // 获取门店服务列表
	'store/foster_rooms': 'store_controller@getStoreFosterRooms', // 获取门店寄养房间列表

	// 预约相关接口
	'appointment/create': 'appointment_controller@createAppointment', // 创建预约单
	'appointment/list': 'appointment_controller@getMyAppointments', // 获取我的预约列表
	'appointment/detail': 'appointment_controller@getAppointmentDetail', // 获取预约详情
	'appointment/update_status': 'appointment_controller@updateAppointmentStatus', // 更新预约状态
	'appointment/cancel': 'appointment_controller@cancelAppointment', // 取消预约
	'appointment/delete': 'appointment_controller@deleteAppointment', // 删除预约（软删除）

	// 支付相关接口
	'payment/create': 'payment_controller@createPayment', // 创建支付订单
	'payment/callback': 'payment_controller@handlePaymentCallback', // 处理支付回调
	'payment/balance': 'payment_controller@payWithBalance', // 余额支付

	'payment/refund': 'payment_controller@refund', // 申请微信支付退款（直调）
	'payment/records': 'payment_controller@getTransactionRecords', // 获取交易记录
	'payment/recharge_records': 'payment_controller@getRechargeRecords', // 获取用户充值记录
	'payment/create_recharge_order': 'payment_controller@createRechargeOrder', // 创建充值订单
	'payment/recharge_callback': 'payment_controller@handleRechargeCallback', // 处理充值回调
	// 充值相关接口（别名）
	'recharge/createRechargeOrder': 'payment_controller@createRechargeOrder', // 创建充值订单
	'recharge/createrechargeorder': 'payment_controller@createRechargeOrder', // 创建充值订单（小写版本）
	'recharge/create_order': 'payment_controller@createRechargeOrder', // 创建充值订单（HTTP触发别名）
	'recharge/handleRechargeCallback': 'payment_controller@handleRechargeCallback', // 处理充值支付回调
	'recharge/handlerechargecallback': 'payment_controller@handleRechargeCallback', // 处理充值支付回调（小写版本）
	'recharge/callback': 'payment_controller@handleRechargeCallback', // 处理充值支付回调（HTTP触发别名）
	'payment/device_callback': 'payment_controller@handleDeviceCallback', // 处理设备订单回调（微信支付 v3）
	// 新增：微信支付查询接口（通过商户订单号 / 微信订单号）
	'payment/query_by_out_trade_no': 'payment_controller@queryByOutTradeNo', // 查询微信支付订单（商户订单号）
	'payment/query_by_transaction_id': 'payment_controller@queryByTransactionId', // 查询微信支付订单（微信订单号）

	// 新闻/公告相关接口（注意：路由会自动转换为小写，所以这里使用小写）
	'news/getnewslist': 'news_controller@getNewsList', // 获取新闻列表
	'news/gethomenewslist': 'news_controller@getHomeNewsList', // 获取首页新闻列表
	'news/viewnews': 'news_controller@viewNews', // 查看新闻详情

	// 充值套餐包相关接口
	'recharge_package/list': 'recharge_package_controller@getPackageList', // 获取充值套餐包列表
	'recharge_package/detail': 'recharge_package_controller@getPackageDetail', // 获取套餐包详情

	// 管理员充值套餐包管理接口
	'admin/recharge_package/list': 'recharge_package_controller@getAdminPackageList', // 获取管理员充值套餐包列表
	'admin/recharge_package/add': 'recharge_package_controller@addPackage', // 添加充值套餐包
	'admin/recharge_package/edit': 'recharge_package_controller@editPackage', // 编辑充值套餐包
	'admin/recharge_package/toggle_status': 'recharge_package_controller@togglePackageStatus', // 切换套餐包状态
	'admin/recharge_package/delete': 'recharge_package_controller@deletePackage', // 删除充值套餐包

	// 员工相关接口
	'employee/list': 'employee_controller@getEmployeeList', // 获取员工列表
	'employee/detail': 'employee_controller@getEmployeeDetail', // 获取员工详情
	'employee/add': 'employee_controller@addEmployee', // 添加员工
	'employee/update': 'employee_controller@updateEmployee', // 更新员工信息
	'employee/delete': 'employee_controller@deleteEmployee', // 删除员工

	// 设备相关接口
	'device/getDeviceList': 'device_controller@getDeviceList', // 获取门店设备列表
	'device/getdevicelist': 'device_controller@getDeviceList', // 获取门店设备列表（小写版本）
	'device/getDeviceDetail': 'device_controller@getDeviceDetail', // 获取设备详情
	'device/getdevicedetail': 'device_controller@getDeviceDetail', // 获取设备详情（小写版本）
	'device/controlDevice': 'device_controller@controlDevice', // 控制设备开关
	'device/controldevice': 'device_controller@controlDevice', // 控制设备开关（小写版本）
    'device/on': 'device_controller@controlDevice', // 别名：打开设备
    'device/off': 'device_controller@controlDevice', // 别名：关闭设备
	'device/updateDeviceStatus': 'device_controller@updateDeviceStatus', // 更新设备状态
	'device/updatedevicestatus': 'device_controller@updateDeviceStatus', // 更新设备状态（小写版本）
	'device/getDeviceRealTimeStatus': 'device_controller@getDeviceRealTimeStatus', // 获取设备实时状态
	'device/getdevicerealtimestatus': 'device_controller@getDeviceRealTimeStatus', // 获取设备实时状态（小写版本）
	'device/getStoreDevicesRealTimeStatus': 'device_controller@getStoreDevicesRealTimeStatus', // 获取门店设备实时状态
	'device/getstoredevicesrealtimestatus': 'device_controller@getStoreDevicesRealTimeStatus', // 获取门店设备实时状态（小写版本）

	// 设备监控相关接口
	'device/getDeviceStatusSummary': 'device_controller@getDeviceStatusSummary', // 获取设备状态监控摘要
	'device/getdevicestatussummary': 'device_controller@getDeviceStatusSummary', // 获取设备状态监控摘要（小写版本）
	'device/getOfflineDevices': 'device_controller@getOfflineDevices', // 获取离线设备列表
	'device/getofflinedevices': 'device_controller@getOfflineDevices', // 获取离线设备列表（小写版本）
	'device/getDeviceFaultHistory': 'device_controller@getDeviceFaultHistory', // 获取设备故障历史
	'device/getdevicefaulthistory': 'device_controller@getDeviceFaultHistory', // 获取设备故障历史（小写版本）
	'device/triggerDeviceFaultHandling': 'device_controller@triggerDeviceFaultHandling', // 手动触发设备故障处理
	'device/triggerdevicefaulthandling': 'device_controller@triggerDeviceFaultHandling', // 手动触发设备故障处理（小写版本）

	// 设备订单相关接口
	'device_order/createDeviceOrder': 'device_order_controller@createDeviceOrder', // 创建设备使用订单
	'device_order/createdeviceorder': 'device_order_controller@createDeviceOrder', // 创建设备使用订单（小写版本）
	'device_order/payDeviceOrderWithBalance': 'device_order_controller@payDeviceOrderWithBalance', // 余额支付设备订单
	'device_order/paydeviceorderwithbalance': 'device_order_controller@payDeviceOrderWithBalance', // 余额支付设备订单（小写版本）
	'device_order/createDeviceOrderPayment': 'device_order_controller@createDeviceOrderPayment', // 创建设备订单支付参数
	'device_order/createdeviceorderpayment': 'device_order_controller@createDeviceOrderPayment', // 创建设备订单支付参数（小写版本）
	'device_order/create_payment': 'device_order_controller@createDeviceOrderPayment', // 创建设备订单支付参数（HTTP触发别名）
	'device_order/handleDeviceOrderPaymentCallback': 'device_order_controller@handleDeviceOrderPaymentCallback', // 处理设备订单支付回调
	'device_order/handledeviceorderpaymentcallback': 'device_order_controller@handleDeviceOrderPaymentCallback', // 处理设备订单支付回调（小写版本）
	'device_order/callback': 'device_order_controller@handleDeviceOrderPaymentCallback', // 处理设备订单支付回调（HTTP触发别名）
	'device_order/getUserDeviceOrders': 'device_order_controller@getUserDeviceOrders', // 获取用户设备订单列表
	'device_order/getuserdeviceorders': 'device_order_controller@getUserDeviceOrders', // 获取用户设备订单列表（小写版本）
	'device_order/getDeviceOrderDetail': 'device_order_controller@getDeviceOrderDetail', // 获取设备订单详情
	'device_order/getdeviceorderdetail': 'device_order_controller@getDeviceOrderDetail', // 获取设备订单详情（小写版本）
	'device_order/cancelDeviceOrder': 'device_order_controller@cancelDeviceOrder', // 取消设备订单
	'device_order/canceldeviceorder': 'device_order_controller@cancelDeviceOrder', // 取消设备订单（小写版本）
	'device_order/completeDeviceOrder': 'device_order_controller@completeDeviceOrder', // 完成设备订单（管理员接口）
	'device_order/completedeviceorder': 'device_order_controller@completeDeviceOrder', // 完成设备订单（小写版本）
	'device_order/checkExpiredOrders': 'device_order_controller@checkExpiredOrders', // 检查过期订单（定时任务接口）
	'device_order/checkexpiredorders': 'device_order_controller@checkExpiredOrders', // 检查过期订单（小写版本）

	// 定时任务相关接口
	'scheduler/processExpiredOrdersAndDevices': 'scheduler_controller@processExpiredOrdersAndDevices', // 处理过期订单和设备状态
	'scheduler/checkDeviceConnections': 'scheduler_controller@checkDeviceConnections', // 检查设备MQTT连接状态
	'scheduler/cleanupUnpaidOrders': 'scheduler_controller@cleanupUnpaidOrders', // 清理过期未支付订单
	'scheduler/runAllScheduledTasks': 'scheduler_controller@runAllScheduledTasks', // 执行所有定时任务

	// 优惠券相关接口
	'coupon/user_list': 'user_coupon_controller@getUserCoupons', // 获取用户优惠券列表
	'coupon/use': 'user_coupon_controller@useCoupon', // 使用优惠券

	// 门禁相关接口
	'access/open_door': 'access_controller@openDoor', // 请求扫码开门
	
	// 初始化相关接口
	'init/access_devices': 'init_controller@initAccessDevices', // 初始化门禁设备
	'init/stores': 'init_controller@initStores', // 初始化门店数据
	'init/access_control': 'init_controller@initAccessControl', // 初始化门禁控制系统

	// 管理员相关接口
	'admin/appointments': 'admin_controller@getStoreAppointments', // 获取本店预约列表
	'admin/appointments/update_status': 'admin_controller@updateAppointmentStatus', // 更新预约单状态

	//***########### ADMIN ################## */  
	// Admin初始化接口
	'admin/init': 'admin_init_controller@initAdmin',
	'admin/check_status': 'admin_init_controller@checkAdminStatus',
	
	// Admin用户关联接口
	'admin/user/check_permission': 'admin_user_link_controller@checkUserAdminPermission',
	'admin/user/link': 'admin_user_link_controller@linkUserToAdmin',
	'admin/user/unlink': 'admin_user_link_controller@unlinkUserFromAdmin',
	'admin/user/linked_admins': 'admin_user_link_controller@getUserLinkedAdmins',
	
	'admin/login': 'admin/admin_home_controller@adminLogin',
	'admin/home': 'admin/admin_home_controller@adminHome',
	'admin/clear_cache': 'admin/admin_home_controller@clearCache#noDemo',

	'admin/setup_about': 'admin/admin_setup_controller@setupAbout#noDemo',
	'admin/setup_contact': 'admin/admin_setup_controller@setupContact#noDemo', 
	'admin/setup_qr': 'admin/admin_setup_controller@genMiniQr', 

	'admin/news_list': 'admin/admin_news_controller@getNewsList',
	'admin/news_insert': 'admin/admin_news_controller@insertNews#noDemo',
	'admin/news_detail': 'admin/admin_news_controller@getNewsDetail',
	'admin/news_edit': 'admin/admin_news_controller@editNews#noDemo',
	'admin/news_update_pic': 'admin/admin_news_controller@updateNewsPic#noDemo',
	'admin/news_update_content': 'admin/admin_news_controller@updateNewsContent#noDemo',
	'admin/news_del': 'admin/admin_news_controller@delNews#noDemo', 
	'admin/news_sort': 'admin/admin_news_controller@sortNews#noDemo',
	'admin/news_status': 'admin/admin_news_controller@statusNews#noDemo',

	'admin/meet_list': 'admin/admin_meet_controller@getMeetList',
	'admin/meet_join_list': 'admin/admin_meet_controller@getJoinList',
	'admin/join_status': 'admin/admin_meet_controller@statusJoin#noDemo',
	'admin/join_del': 'admin/admin_meet_controller@delJoin#noDemo',
	'admin/meet_insert': 'admin/admin_meet_controller@insertMeet#noDemo',
	'admin/meet_detail': 'admin/admin_meet_controller@getMeetDetail',
	'admin/meet_edit': 'admin/admin_meet_controller@editMeet#noDemo',
	'admin/meet_del': 'admin/admin_meet_controller@delMeet#noDemo',
	'admin/meet_update_content': 'admin/admin_meet_controller@updateMeetContent#noDemo',
	'admin/meet_update_style': 'admin/admin_meet_controller@updateMeetStyleSet#noDemo',
	'admin/meet_sort': 'admin/admin_meet_controller@sortMeet#noDemo',
	'admin/meet_status': 'admin/admin_meet_controller@statusMeet#noDemo',
	'admin/meet_cancel_time_join': 'admin/admin_meet_controller@cancelJoinByTimeMark#noDemo',
	'admin/join_scan': 'admin/admin_meet_controller@scanJoin#noDemo',
	'admin/join_checkin': 'admin/admin_meet_controller@checkinJoin#noDemo',
	'admin/self_checkin_qr': 'admin/admin_meet_controller@genSelfCheckinQr',
	'admin/meet_day_list': 'admin/admin_meet_controller@getDayList',

	'admin/join_data_get': 'admin/admin_export_controller@joinDataGet',
	'admin/join_data_export': 'admin/admin_export_controller@joinDataExport',
	'admin/join_data_del': 'admin/admin_export_controller@joinDataDel#noDemo',

	'admin/temp_insert': 'admin/admin_meet_controller@insertTemp#noDemo',
	'admin/temp_list': 'admin/admin_meet_controller@getTempList',
	'admin/temp_del': 'admin/admin_meet_controller@delTemp#noDemo',
	'admin/temp_edit': 'admin/admin_meet_controller@editTemp#noDemo', 

	'admin/log_list': 'admin/admin_mgr_controller@getLogList',

	'admin/user_list': 'admin/admin_user_controller@getUserList',
	'admin/user_detail': 'admin/admin_user_controller@getUserDetail',
	'admin/user_del': 'admin/admin_user_controller@delUser#noDemo',  

	'admin/user_data_get': 'admin/admin_export_controller@userDataGet',
	'admin/user_data_export': 'admin/admin_export_controller@userDataExport',
	'admin/user_data_del': 'admin/admin_export_controller@userDataDel#noDemo',

	// 数据库导出所有集合（云函数运行时调用）
	'admin/export_all_collections_json': 'admin/admin_export_controller@exportAllCollectionsJson',

	// 数据库导入种子数据（云函数运行时调用）
	'admin/import_seed_data': 'admin/admin_export_controller@importSeedData',
	// 数据库导入种子数据（使用内嵌数据）
	'admin/import_seed_data_embedded': 'admin/admin_export_controller@importSeedDataEmbedded',

	// 新增Admin管理接口
	// 设备管理
	'admin/device/add': 'device_management_controller@addDevice',
	'admin/device/delete': 'device_management_controller@deleteDevice',
	'admin/device/update': 'device_management_controller@updateDevice',
	'admin/device/list': 'device_management_controller@getDeviceList',

	// 寄养房间管理
	'admin/foster_room/add': 'foster_room_controller@addRoom',
	'admin/foster_room/delete': 'foster_room_controller@deleteRoom',
	'admin/foster_room/update': 'foster_room_controller@updateRoom',
	'admin/foster_room/list': 'foster_room_controller@getRoomList',

	// 门店管理
	'admin/store/add': 'store_management_controller@addStore',
	'admin/store/delete': 'store_management_controller@deleteStore',
	'admin/store/update': 'store_management_controller@updateStore',
	'admin/store/list': 'store_management_controller@getStoreList',

	// 设备控制
	'admin/device_control/control': 'device_control_controller@controlDevice',
	'admin/device_control/door_lock': 'device_control_controller@controlDoorLock',
	'admin/device_control/status': 'device_control_controller@getDeviceStatus',

	// 时长档位管理
	'admin/duration_pricing/add': 'duration_pricing_controller@addDurationPricing',
	'admin/duration_pricing/update': 'duration_pricing_controller@updateDurationPricing',
	'admin/duration_pricing/delete': 'duration_pricing_controller@deleteDurationPricing',
	'admin/duration_pricing/list': 'duration_pricing_controller@getDevicePricingList',

	// 订单管理
	'admin/order/list': 'order_management_controller@getOrderList',
	'admin/order/cancel': 'order_management_controller@cancelOrder',
	'admin/order/detail': 'order_management_controller@getOrderDetail',
	'admin/order/contact_user': 'order_management_controller@contactOrderUser',

	// 充值管理
	'admin/recharge/config_levels': 'recharge_management_controller@configRechargeLevels',
	'admin/recharge/get_levels': 'recharge_management_controller@getRechargeLevels',
	'admin/recharge/recharge_user': 'recharge_management_controller@rechargeUser',
	'admin/recharge/deduct_balance': 'recharge_management_controller@deductUserBalance',
	'admin/recharge/logs': 'recharge_management_controller@getUserRechargeLogs',

	// 收银功能
	'admin/cashier/generate_qr': 'cashier_controller@generatePaymentQR',
	'admin/cashier/confirm_payment': 'cashier_controller@confirmPayment',
	'admin/cashier/logs': 'cashier_controller@getCashierLogs',

	// 券码验证
	'admin/coupon/verify': 'coupon_verification_controller@verifyCoupon',
	'admin/coupon/list': 'coupon_verification_controller@getCouponList',
	'admin/coupon/verification_logs': 'coupon_verification_controller@getVerificationLogs',


}